c1545b51b2981b32481ecf4e02b5bd07f8b09d82,platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java,EditorMarkupModelImpl,showToolTipByMouseMove,#MouseEvent#number#,148

Before Change


    boolean bigEditorView = false;
    TooltipRenderer bigRenderer = null;

    if (ApplicationManager.getApplication().isInternal()){
      int line = myEditor.offsetToLogicalLine(yPositionToOffset(y, true));
      int startOffset = myEditor.logicalPositionToOffset(new LogicalPosition(Math.max(0, line - getMinHeight()), 0));
      LogicalPosition endPosition = new LogicalPosition(Math.max(0, line + getMinHeight()), 0);

After Change


    boolean isVisible = area.contains(area.x, realY);//area.y < realY && area.y + area.height > realY;

    TooltipRenderer bigRenderer;
    if (!ApplicationManager.getApplication().isInternal() || isVisible) {
      final Set<RangeHighlighter> highlighters = new THashSet<RangeHighlighter>();
      getNearestHighlighters(this, me.getY(), highlighters);
      getNearestHighlighters((MarkupModelEx)DocumentMarkupModel.forDocument(myEditor.getDocument(), getEditor().getProject(), true), me.getY(), highlighters);

      int minDelta = Integer.MAX_VALUE;
      int y = e.getY();

      for (RangeHighlighter each : highlighters) {
        ProperTextRange range = offsetsToYPositions(each.getStartOffset(), each.getEndOffset());
        int eachStartY = range.getStartOffset();
        int eachEndY = range.getEndOffset();
        int eachY = eachStartY + (eachEndY - eachStartY) / 2;
        if (Math.abs(e.getY() - eachY) < minDelta) {
          y = eachY;
        }
      }


      me = new MouseEvent(e.getComponent(), e.getID(), e.getWhen(), e.getModifiers(), e.getX(), y + 1, e.getClickCount(),
                          e.isPopupTrigger());

      if (highlighters.isEmpty()) return false;
      bigRenderer = myTooltipRendererProvider.calcTooltipRenderer(highlighters);
    } else {
      final List<RangeHighlighterEx> highlighters = new ArrayList<RangeHighlighterEx>();
      collectRangeHighlighters(this, line, highlighters);
      collectRangeHighlighters((MarkupModelEx)DocumentMarkupModel.forDocument(myEditor.getDocument(), getEditor().getProject(), true), line,
                               highlighters);